﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Core.Mvvm;

namespace Client.App.Services
{
    public interface IConfigurationService
    {
        int GetMaxProcessingBlockSize();
        void SetMaxProcessingBlockSize(int maxProcessingBlockSize);
        Type GetProcessingBlockType();
        void SetProcessingBlockType(Type type);
        int GetAttemptCount();
        void SetAttemptCount(int attemptCount);

        event EventHandler<ParametrizedEventArgs<Type>> ProcessingBlockTypeChanged;
        event EventHandler<ParametrizedEventArgs<int>> MaxProcessingBlockSizeChanged;
        event EventHandler<ParametrizedEventArgs<int>> AttemptCountChanged;
    }
}
